package com.smart.community.feign.notification;

import com.smart.community.commons.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 通知服务Feign接口
 * 
 * @author Wu.Liang
 */
@FeignClient(
    name = "smart-community-notification",
    fallback = NotificationFeignClientFallback.class
)
public interface NotificationFeignClient {
    
    /**
     * 获取消息列表
     * 
     * @param userId 用户ID
     * @return 消息列表
     */
    @GetMapping("/notification/message/{userId}")
    Result<?> getMessages(@PathVariable("userId") Long userId);
    
    /**
     * 获取通知设置
     * 
     * @param userId 用户ID
     * @return 通知设置
     */
    @GetMapping("/notification/setting/{userId}")
    Result<?> getNotificationSettings(@PathVariable("userId") Long userId);
    
    /**
     * 获取未读消息数量
     * 
     * @param userId 用户ID
     * @return 未读消息数量
     */
    @GetMapping("/notification/unread/{userId}")
    Result<?> getUnreadCount(@PathVariable("userId") Long userId);
} 
